﻿#include "BoardManager.h"

BoardManager::BoardManager()
{
	for(int i=0;i<CELL;i++)
	{
		for(int j=0;j<CELL;j++)
		{
			board[CELL][CELL]=0;
		}
	}
}
void BoardManager::Init()
{
	isWin=false;
	isOK=false;
	//-1 là cờ trắng - 1 là cờ đen
	//khởi tạo giá trị cho 4 ô lúc bắt đầu game
	board[3][3]=-1;
	board[3][4]=1;
	board[4][3]=-1;
	board[4][4]=1;

	totalCell=0;
}
int BoardManager::getTotalCell()
{
	//trả về tổng số ô đã có cờ
	return totalCell;
}
int BoardManager::GetCellAtPos(int x,int y)
{
	//trả về giá trị của ô tại vị trí đưa vào
	return board[x][y];
}
int BoardManager::putCellAtPos(int typeOfCell,int x,int y)
{
	// nhận input vào và lưu ô nào cờ đã dc đánh xuống
	if(board[x][y]==0)
	{
		return 0;// xảy ra lỗi, ô này đã có cờ rồi
	}
	board[x][y]=typeOfCell;
	return 1;
}
void BoardManager::updateBoard(int type,int x,int y)
{
	/*cập nhật board*/
	if(putCellAtPos(type,x,y) && isOK)
	{
		isOK=true;
		/*nếu đặt cờ vào ô đó dc thì check theo dọc ngang chéo để update cờ*/
		updateChessDiagonal(type,x,y);
		updateChessHorizontal(type,x,y);
		updateChessVertical(type,x,y);
	}
	else
	{
		isOK=false;
	}

	/*xét thắng thua*/
	if(checkWin())
	{
		isWin=true;
	}
	else
	{
		isWin=false;
	}
}
bool BoardManager::checkWin()
{
	
}